#GraphQL Server Basics: The Network Layer
GraphQL Server Basics: The Network Layer
Graphql 通过 HTTP协议提供服务
以 schema 为核心,定义好了以后后端的 schema和 resolver 之后, 如何实现 Graphql 就是问题了
express.js 的中间件
Express 中间件接收req
,res
,next
函数.
因为 express 可以处理 http 请求, Graphql 定义的 schema 和 resolver 提供了功能, 需要的就是把他们粘合起来
中间的桥梁有express-grahpql
,apollo-server
.本质上他们都是 express 的中间件
GraphQL 中间件
GraphQL 结合了 HTTP请求和 Graphlql.jsexpress-grahpql
是 facebook 版本的 GraphQL的中间件,主要有两个作用:
- 解析请求中的查询和 mutate, 转发给
graphql
函数,最终做处理 - 把结果附加到
res
对象,返回给客户端
1 | const express = require('express') |
apollo-server 与 express-graphql 类似
两者类似, apollo-server 提供了对更多框架的支持而已.
graphql-yoga
这是最容易使用的,就是 Graphql 背后的中间件
1 | const { GraphQLServer } = require('graphql-yoga') |